/*
 * PajaroAzul.cpp
 *
 *  Created on: 16/10/2012
 *      Author: Ignacio Galvez
 */
#include <cmath>
#include "PajaroAzul.h"
#include "Daniable.h"

PajaroAzul::PajaroAzul(double anguloDeCaida,double normaVelocidadInicial,
 double x, double y, double tiempoInicial):
		Pajaro(anguloDeCaida,normaVelocidadInicial,VIDA_PAJARO_AZUL, x, y,
		 tiempoInicial) {
}
double PajaroAzul::VIDA_PAJARO_AZUL = 1;

double PajaroAzul::FACTOR = 0.40;


void PajaroAzul::daniar(Daniable* daniable){
	daniable->serDaniadoPorPajaroAzul();
}

void PajaroAzul::rebotar(double ticks) {
	double anguloRebote;
	double tangenteAnguloRebote;
	
	tangenteAnguloRebote = (getPosicionX() - getXinicial())/
	(getPosicionY() - getYinicial());

	if ( (getPosicionX() - getXinicial() ) < 0)
		anguloRebote = atan(tangenteAnguloRebote) + M_PI;
	else anguloRebote = atan(tangenteAnguloRebote);
	setXinicial(getPosicionX());
	setYinicial(getPosicionY());
	setAnguloCaida(anguloRebote);
	modificarVelocidadInicial(FACTOR);
}

//std::string & PajaroAzul::getImagePath() {}
void  PajaroAzul::setImagePath(std::string &path) {}


void PajaroAzul::show() {}

PajaroAzul::~PajaroAzul() {}


